#include<iostream>
#include <signal.h>
#include <unistd.h>


int main()
{
    sigset_t set, pending;

    sigemptyset(&set);
    sigemptyset(&pending);
    sigaddset(&set,SIGINT);

    //设置进入内核
    sigprocmask(SIG_SETMASK,&set,nullptr);

    while(true)
    {
        sigpending(&pending);
        printf("pending[%d]:",getpid());
        for(int i=32; i>=1; i--)
        {
            if(sigismember(&pending,i))
                printf("1");
            else
                printf("0");
        }
        printf("\n");
        usleep(500000);
    }


    return 0;
}


// void handle(int signalno)
// {
//     std::cout<<"signalno:"<<signalno<<std::endl;
//     std::cout<<"时钟信号开始"<<std::endl;
//     alarm(1);
// }



// int main()
// {
//     int count=0;
//     signal(SIGALRM,handle);
//     alarm(1);
//     while(true)
//     {
//         count++;
//         std::cout<<"count:"<<count<<std::endl;
//         sleep(1);
//     }

//     return 0;
// }